#ifndef __CURRENT_ACCOUNT_H
#define __CURRENT_ACCOUNT_H

#include "Transaction.h"
#include "Account.h"
#include "Client.h"

#include "LinkedList.h"

using namespace std;

#define INIT_MAX_TRANSACTIONS 5

class CurrentAccount : public Account
{
private:
	const Date				 creationDate;
	LinkedList<Transaction*> transactions;
	int						 maxTransactions;
	int						 transactionIndex;
	
private:	
					CurrentAccount(const CurrentAccount& currentAccount);
			void	operator=(const CurrentAccount& other);
	virtual void	toOs(ostream& os)				const;

public:
					CurrentAccount(int balance, const Date& creationDate);
			void	addTransaction(Transaction& transaction);
	virtual			~CurrentAccount();
};
#endif